---
title: なぜBloc？
description: Blocが優れた状態管理手法である理由を解説しています。
sidebar:
  order: 1
---

Blocはプレゼンテーション層からビジネスロジックを簡単に分離できるので、コードが*高速で*、_テストしやすく_、
*再利用可能に*なります。

本番環境向けのアプリケーション開発において、状態管理は非常に重要です。

開発者としては

- アプリケーションの状態を常に把握したい
- 全てのケースにおいて正しく動作しているかを簡単にテストしたい
- アプリケーション内でユーザーが行った操作を全て記録し、データに基づいた意思決定を可能にしたい
- 特定のアプリケーションのコンポーネントを再利用することで、ほかのアプリケーションでも効率よく開発をしたい
- 大勢が携わる開発でも同じパターンとルールに従って、単一のコードベースでもシームレスに作業したい
- サクサク動くリアクティブなアプリケーションを開発したい

ですよね。

Blocはそんなニーズに応えるために開発されました。

世の中には多数の状態管理手法があり、どれを使うか判断するのは大変です。

Blocは以下の三つのコアバリューを元に作成されました。

- シンプル
  - 簡単に使え、開発者の技術レベルを問わず使ってもらえる
- パワフル
  - 複雑なアプリケーションを小さなコンポーネントに分けることで、高品質なアプリケーションを作ることが出来る
- テストのしやすさ
  - 品質に自信を持って開発を進められるように、アプリケーションを構築する全ての要素を簡単にテストできるようにする

まとめると、Blocは状態変化のタイミングを制御し、アプリケーション全体で統一された方法で状態を管理することで、状態の変化を予測可能にします。
